An I/O-request processing system receives an I/O request issued from an external device, such as a process, delivers data from the external device to an input/output device based on the I/O request thus received, and delivers data read from the input/output device to the external device. The I/O-request processing system typically includes an I/O-request cue, consecutively registers into the cue the I/O requests issued to the same input/output device, reads out the registered I/O requests one by one, and performs I/O processing thereto.
A technique is described in Patent Publication JP-1988-180338A as a conventional technique used in a system which processes I/O requests. In this technique, tasks are managed in a priority order of start, wherein a task having a highest priority is started and the thus started task uses the I/O resource by priority. Another technique is described in Patent Publication JP-1988-39041A as a technique for performing a dispatch control onto the tasks including an I/O request. The dispatch priority of a process is controlled in this technique by using the CPU-time consumed by a process and/or the I/O processing time of the process as a parameter. For example, the dispatch priority is set at a, higher value for a process having a larger amount of I/O processing, and allows such a process to use the I/O resource by priority.
However, in each of the above conventional techniques, it is not taken into consideration which task has a higher urgency among a plurality of tasks requested to the same I/O (resource (I/O device). For this reason, a situation occurs wherein neither a task having a longer delay time of the I/O request nor the task which continues to fail in the I/O request can use the I/O resource. This may cause a problem in that a host device or higher rank process, which issues the I/O request, must have a larger number of buffers in order to prevent occurrence of a buffer overflow or underflow.